package com.wen.es.annotation;

import com.wen.es.utils.EsConstants;

import java.lang.annotation.*;

/**
 * es 属性属性
 * Created by LAIO on 2018/6/30.
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.TYPE})
public @interface EsTypeAnno {

    /**
     * 属性名
     *
     * @return 属性名
     */
    String propertyName();

    /**
     * ES类型
     *
     * @return 类型
     */
    String type() default EsConstants.TYPE_STRING;

    /**
     * 是否主键
     *
     * @return 是否主键
     */
    boolean id() default false;


    /**
     * 索引类型
     *
     * @return 索引类型
     */
    String index() default EsConstants.INDEX_NOT_ANALYZED;

    /**
     * @return 依赖类
     */
    Class<?> refer() default Object.class;
}
